home *** CD-ROM | disk | FTP | other *** search
- 0100 ' The lines numbered 0100 thru 0166 MUST NOT BE ALTERED OR REMOVED!
- 0102 ' Enjoy this most useful little software offering! This program is
- 0104 ' copyrighted, but it may be distributed in any media, provided that:
- 0106 '
- 0108 ' 1. You do not alter or remove the REM statements out of the
- 0110 ' source code or alter the documentation in any way.
- 0112 ' That you include BOTH answer2.bas + answer2.doc in whatever
- 0114 ' media is chosen for distribution.
- 0116 '
- 0118 ' 2. You do not DISTRIBUTE a modified version of this code. If you MUST
- 0120 ' modify the software,... use the accepted practice of creating a
- 0122 ' MERGE file to contain your changes. In this way... any bugs which
- 0124 ' are fixed or new feature which are to be included can be done in a
- 0126 ' reasonably maintainable fashion.
- 0128 '
- 0130 ' 3. Charge no fees for the distribution of this software beyond the
- 0132 ' minimal charge ($4 maximum) for a distribution diskette.
- 0134 ' If other programs are included on the diskette, do not charge
- 0136 ' more than once for the distribution diskette.
- 0138 '
- 0140 '
- 0142 ' If you would like to receive free updates of the program,
- 0144 ' send a donation ($20 is suggested for private use, $20 minimum for
- 0146 ' commercial or corporate usage is mandatory) to:
- 0148 '
- 0150 ' Mike Sirmans
- 0152 ' 4022 Tanglewood Rd.
- 0154 ' Snellville, GA 30278
- 0156 ' Call: ZAP!-BBS (404) 972-3458
- 0158 ' Supporting ASCII & XMODEM downloads
- 0160 ' at 2400/1200/300 baud 24-hrs/day
- 0162 '
- 0164 ' (C) Copyright 1985 by Mike Sirmans, ALL RIGHTS RESERVED.
- 0166 '
- 1000 CLEAR:CLS:DEFINT A-Z:DEF SEG
- 1020 SYS$="MIKE":NM$="ZAP!-BBS":CP$="COM1":BA$="300":PW$="PASSWRD"
- 1021 REM
- 1022 REM CHANGE THE DATA IN THE LINE ABOVE TO SUIT YOUR TASTES ...
- 1023 REM
- 1024 REM SYS$ = System operator's FIRST name.
- 1025 REM NM$ = Name of this system. (printed as: WELCOME TO ....... )
- 1026 REM CP$ = Communications port. Must be COM1 or COM2
- 1027 REM BA$ = Open the communication port at this baud rate.
- 1028 REM PW$ = Your REMOTE password list your messages (must be UPPER-case)
- 1029 REM
- 1030 SD$="ATM0Q1S2=255S10=30S0=0"
- 1040 CLS:KEY OFF:PR=1:LCL=0:UPD=1:UC=0:LOCATE ,,0
- 1060 ON ERROR GOTO 6080
- 1080 LOCATE 5,24:PRINT "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
- 1100 LOCATE 6,24:PRINT "▌ ▐"
- 1120 LOCATE 7,24:PRINT "▌ ░▒▓▓▓ the ELECTRONIC ▓▓▓▒░ ▐"
- 1140 LOCATE 8,24:PRINT "▌ ░▒▓▓▓ ANSWERING MACHINE ▓▓▓▒░ ▐"
- 1160 LOCATE 9,24:PRINT "▌ ▐"
- 1180 LOCATE 10,24:PRINT "▌ Original concept by: Sean Nolan ▐"
- 1200 LOCATE 11,24:PRINT "▌ ▐"
- 1220 LOCATE 12,24:PRINT "▌ Re-written by Mike Sirmans ▐"
- 1240 LOCATE 13,24:PRINT "▌ Sysop: ZAP!-BBS Atlanta, GA ▐"
- 1260 LOCATE 14,24:PRINT "▌ (404) 972-3458 24-hrs/day ▐"
- 1280 LOCATE 15,24:PRINT "▌ ▐"
- 1300 LOCATE 16,24:PRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
- 1310 LOCATE 22,13:PRINT "(C) Copyright 1985 by Mike Sirmans, ALL RIGHTS RESERVED."
- 1320 DEF FNTI!=CSNG(FIX((VAL(MID$(TIME$,1,2))*60*60)+(VAL(MID$(TIME$,4,2))*60)+(VAL(MID$(TIME$,7,2))*1))):DEF FNBL$="BLK"+RIGHT$("0000"+RIGHT$(STR$(BLK),LEN(STR$(BLK))-1),5)
- 1340 DEF FNS$(A1$,A)=A1$+SPACE$(A-LEN(A1$))
- 1360 BK$=CHR$(8)+CHR$(32)+CHR$(8):BK1$=CHR$(29)+CHR$(32)+CHR$(29)
- 1380 IF CP$="COM2" THEN LSB=&H2F8:MSB=&H2F9:LCR=&H2FB:MCR=&H2FC:LSR=&H2FD:MSR=&H2FE ELSE LSB=&H3F8:MSB=&H3F9:LCR=&H3FB:MCR=&H3FC:LSR=&H3FD:MSR=&H3FE
- 1400 OPEN "I",2,"ANSWER.DEF":INPUT #2,BP$,CH$,NUM,MUN:CLOSE #2
- 1420 KEY 1,"":KEY (1) ON:ON KEY(1) GOSUB 6200
- 1440 KEY 2,"":KEY (2) ON:ON KEY(2) GOSUB 6300
- 1460 KEY 3,"":KEY (3) ON:ON KEY(3) GOSUB 6260
- 1480 KEY 4,"":KEY (4) ON:ON KEY(4) GOSUB 6280
- 1500 DIM LI$(100):M$=CHR$(10)+CHR$(13)
- 1540 REM
- 1560 REM ------------------- BEGINNING OF PROGRAM LOGIC --------------------
- 1580 REM
- 1600 IF INP(MSR)<128 THEN OUT MCR,&H4:GOSUB 6460:OUT MCR,&H0
- 1620 CLOSE:OPEN CP$+":"+BA$+",N,8,1,RS,CD,DS" AS #3
- 1640 PR=0:A$="ATZ":GOSUB 6500:GOSUB 6460:A$=SD$:GOSUB 6500:PR=1
- 1660 CLS
- 1680 LOCATE 17,24:PRINT "░▒▓▓▓ the ELECTRONIC ▓▓▓▒░"
- 1700 LOCATE 18,24:PRINT "░▒▓▓▓ ANSWERING MACHINE ▓▓▓▒░"
- 1720 LOCATE 22,13:PRINT "(C) Copyright 1985 by Mike Sirmans, ALL RIGHTS RESERVED."
- 1740 LOCATE 3,24
- 1760 PRINT "STANDBY...";
- 1780 UPD=0:GOSUB 6660:UPD=1
- 1788 LOCATE 3,24
- 1790 PRINT "Ready at ";TIME$;" on ";DATE$;
- 1800 WE$=INKEY$
- 1820 IF WE$="X" OR WE$="x" THEN LOCATE 22,13:PRINT " PROGRAM TERMINATED... ":SYSTEM:END
- 1840 IF WE$="L" OR WE$="l" THEN 2000
- 1850 IF WE$="R" OR WE$="r" THEN GOSUB 6350
- 1860 IF(INP(MSR)AND &H40)=0 THEN GOTO 1800
- 1880 REM -----------------------------------------------------------------
- 1900 PR=0:A$="ATQ0X1V1A":GOSUB 6500:TCC!=FNTI!+30:DF$="":PR=1
- 1920 IF INP(MSR)<128 AND FNTI!<TCC! THEN 1920 ELSE IF INP(MSR)<128 THEN 2740 ELSE GOSUB 6460
- 1940 IF LOC(3)<>0 THEN DF$=DF$+INPUT$(LOC(3),3) ELSE 1965
- 1960 IF INSTR(DF$,"CONNECT") THEN QQ=VAL(MID$(DF$,INSTR(DF$,"CONNECT")+8,4)):GOTO 2020
- 1965 IF FNTI!=>TCC! THEN 2740 ELSE 1920
- 1980 REM -----------------------------------------------------------------
- 2000 PR=0:A$="ATQ1E1H1M0":GOSUB 6500:CLOSE #3:PR=1:LCL=1:GOTO 2040
- 2020 GOSUB 21280:IF QQ=0 OR QQ=300 THEN Q=&H180:BPS=-1:GOSUB 11654 ELSE IF QQ=1200 OR QQ=2400 THEN BPS=-2-(QQ/1200):Q=48*(BPS+5):GOSUB 11654 ELSE 1940
- 2040 CLS:CNCT=1
- 2060 A$="WELCOME TO "+NM$+CHR$(10)+CHR$(13):GOSUB 6500
- 2070 M$=CHR$(13)
- 2080 IF LCL=1 THEN 2220
- 2090 MUN=MUN+1:GOSUB 6970
- 2100 GOSUB 6340:GOSUB 6460
- 2120 PRINT "Do you need linefeeds (Y/N) ? ";
- 2140 PRINT #3,"Do you need linefeeds (Y/N) ? ";
- 2160 GOSUB 5720
- 2180 IF LEFT$(B$,1)="n" OR LEFT$(B$,1)="N" THEN 2201
- 2200 M$=CHR$(10)+CHR$(13)
- 2201 PRINT M$+"Enter your REAL First Name: ";
- 2202 PRINT #3,M$+"Enter your REAL First Name: ";
- 2203 UC=1:GOSUB 5720:UC=0:FR1$=B$
- 2204 PRINT "Enter your REAL Last Name: ";
- 2205 PRINT #3,"Enter your REAL Last Name: ";
- 2206 UC=1:GOSUB 5720:UC=0:FR2$=B$
- 2207 PRINT M$+"Your name is - ";FR1$;" ";FR2$;" ...right ? ";
- 2208 PRINT #3,M$+"Your name is - ";FR1$;" ";FR2$;" ...right ? ";
- 2209 GOSUB 5720
- 2210 IF LEFT$(B$,1)="y" OR LEFT$(B$,1)="Y" THEN 2212
- 2211 A$=M$+M$:GOSUB 6500:GOTO 2201
- 2212 OPEN "MESSAGES" FOR APPEND AS #2
- 2213 PRINT #2, STRING$(50,"-");CHR$(13);CHR$(10);
- 2214 PRINT #2, DATE$;" ";TIME$;" Caller #";MUN;" ... "FR1$;" ";FR2$;CHR$(13);CHR$(10);
- 2215 CLOSE #2
- 2220 A$=M$:GOSUB 6500
- 2240 OPEN "OUTMSG" FOR INPUT AS #2
- 2260 WHILE NOT EOF(2)
- 2280 A$=INPUT$(1,#2)
- 2300 IF A$=CHR$(8) THEN GOSUB 3340:GOTO 2380
- 2320 IF A$=CHR$(10) THEN 2380
- 2340 IF A$=CHR$(13) THEN PRINT:IF LCL=0 THEN PRINT #3,M$;:GOTO 2380 ELSE GOTO 2380
- 2360 PRINT A$;:IF LCL=0 THEN PRINT #3,A$;
- 2380 WEND
- 2400 CLOSE #2
- 2420 A$=M$:GOSUB 6500
- 2440 A$="Main functions":GOSUB 6500
- 2460 PRINT "E)nter msg O)perator page G)oodbye ?)Help : ";
- 2480 IF LCL=0 THEN PRINT #3,"E)nter msg O)perator page G)oodbye ?)Help : ";
- 2500 GOSUB 5720
- 2520 C$=LEFT$(B$,1)
- 2540 IF C$="E" OR C$="e" THEN 3580
- 2560 IF C$="O" OR C$="o" THEN 2820
- 2580 IF C$="G" OR C$="g" THEN 2680
- 2600 IF C$="~" THEN 4920
- 2620 IF C$="?" THEN 3460
- 2640 A$="Invalid command!":GOSUB 6500
- 2660 GOTO 2420
- 2680 CLOSE #2
- 2685 A$=M$:GOSUB 6500
- 2690 OPEN "BYEMSG" FOR INPUT AS #2
- 2695 WHILE NOT EOF(2)
- 2700 A$=INPUT$(1,#2)
- 2705 IF A$=CHR$(8) THEN GOSUB 3340:GOTO 2725
- 2710 IF A$=CHR$(10) THEN 2725
- 2715 IF A$=CHR$(13) THEN PRINT:IF LCL=0 THEN PRINT #3,M$;:GOTO 2725 ELSE GOTO 2725
- 2720 PRINT A$;:IF LCL=0 THEN PRINT #3,A$;
- 2725 WEND
- 2730 CLOSE #2:FOR I=1 TO 2:GOSUB 6460:NEXT I
- 2740 CLOSE #3:GOTO 1000
- 2750 '
- 2820 IF CH$="ON " THEN 2880
- 2840 A$=M$+"Sorry, "+SYS$+" isn't around right now. Try again later...":GOSUB 6500
- 2860 GOTO 2420
- 2880 A$=M$+"Please, stand by.":GOSUB 6500
- 2900 PRINT "Paging SYSOP ";:IF LCL=0 THEN PRINT #3,"Paging SYSOP ";
- 2920 A$="."
- 2940 FOR E=1 TO 30
- 2960 PRINT A$;:IF LCL=0 THEN PRINT #3,A$;
- 2980 IF BP$="ON " THEN BEEP
- 3000 GOSUB 6460
- 3020 NEXT E
- 3040 A$=M$+"Sorry, "+SYS$+" just doesn't seem to be around at the moment...":GOSUB 6500
- 3060 A$="Until then, just leave a message if you will..."+M$:GOSUB 6500
- 3080 GOTO 2420
- 3100 IF LCL=1 THEN PRINT M$+"CHAT is not supported in LOCAL-mode !":GOSUB 6460:GOTO 2420
- 3110 A$=M$+"*** ATTENTION *** Sysop is ONLINE !"+M$:GOSUB 6500
- 3120 LOCATE ,,1
- 3121 REM
- 3122 REM ------------- CHAT SUPPORT ROUTINE ---------------
- 3123 REM
- 3130 WHILE EOF(3)
- 3131 IF POS(0)>79 THEN PRINT:PRINT #3,M$;:GOTO 3130
- 3132 A$=INKEY$:IF LEN(A$)>1 THEN GOSUB 6340:GOTO 3130
- 3138 IF A$=CHR$(8) OR A$=CHR$(7) OR A$=CHR$(26) OR A$=CHR$(227) OR A$=CHR$(127) THEN 3200 ELSE IF A$=CHR$(27) THEN 3400
- 3140 IF A$=CHR$(13) AND LCL=0 THEN PRINT:PRINT#3,M$;:GOTO 3130
- 3150 IF A$<>"" THEN 3190
- 3160 WEND
- 3180 A$=INPUT$(1,3):IF A$=CHR$(8) OR A$=CHR$(7) OR A$=CHR$(26) OR A$=CHR$(227) THEN 3200
- 3185 IF A$=CHR$(13) THEN PRINT:PRINT #3,M$;:GOTO 3130
- 3190 PRINT A$;:PRINT #3,A$;:GOTO 3130
- 3200 GOSUB 3340:GOTO 3130
- 3290 REM
- 3291 REM ------------- END OF CHAT ROUTINE ----------------
- 3292 REM
- 3340 IF POS(0)>1 THEN PRINT BK1$;:IF LCL=0 THEN PRINT#3,BK$;
- 3360 RETURN
- 3400 A$=M$+M$+"CHAT terminated...":GOSUB 6500
- 3420 LOCATE ,,0
- 3440 GOTO 2420
- 3460 A$=M$+"Help !!!"+M$:GOSUB 6500
- 3480 A$="E)nter ........... You can enter a message to operator":GOSUB 6500
- 3500 A$="O)perator page ... See if "+SYS$+"'s available to CHAT":GOSUB 6500
- 3520 A$="G)oodbye ......... Logoff system":GOSUB 6500
- 3540 A$="?)Help ........... This help file":GOSUB 6500
- 3560 GOTO 2420
- 3580 A$=M$+"Enter a message to Sysop"+M$:GOSUB 6500
- 3600 FOR I=1 TO 60
- 3620 LI$(I)="" 'clear out dim-array
- 3640 NEXT
- 3760 A$=M$+"Enter YOUR message here... you are limited to a maximum of 60 lines.":GOSUB 6500
- 3780 A$="IMPORTANT! Enter a NULL (blank) line to END-message entry."+M$:GOSUB 6500
- 3800 L=1:UC=0
- 3820 IF L=60 THEN LI$(L)="***END***":GOTO 3940
- 3840 PRINT ">";:IF LCL=0 THEN PRINT #3,">";
- 3860 GOSUB 5720
- 3880 IF B$="" THEN LI$(L)="***END***":GOTO 3940
- 3900 LI$(L)=B$
- 3920 L=L+1:GOTO 3820
- 3940 A$=M$+"Editing Subfunction":GOSUB 6500
- 3960 PRINT "E)dit, L)ist, C)ontinue, N)ew, A)bort, S)ave, ?)Help : ";
- 3980 IF LCL=0 THEN PRINT #3, "E)dit, L)ist, C)ontinue, N)ew, A)bort, S)ave, ?)Help : ";
- 4000 GOSUB 5720
- 4020 C$=LEFT$(B$,1)
- 4060 IF C$="E" OR C$="e" THEN 4720
- 4080 IF C$="L" OR C$="l" THEN 4580
- 4100 IF C$="C" OR C$="c" THEN 3820
- 4120 IF C$="N" OR C$="n" THEN 3580
- 4140 IF C$="A" OR C$="a" THEN 2420
- 4160 IF C$="S" OR C$="s" THEN 4380
- 4170 IF C$="?" THEN 4200
- 4180 A$="Invalid command!":GOSUB 6500
- 4190 GOTO 3940
- 4200 A$=M$+"Help (again) !!!"+M$:GOSUB 6500
- 4220 A$="E)dit ....... Allows you to make changes & fix message":GOSUB 6500
- 4240 A$="L)ist ....... Print message back to you so you can REVIEW it":GOSUB 6500
- 4260 A$="C)ontinue ... Allows you to continue to add lines to message":GOSUB 6500
- 4280 A$="N)ew ........ Start over":GOSUB 6500
- 4300 A$="A)bort ...... Zap message & quit":GOSUB 6500
- 4320 A$="S)ave ....... write message to file for SYSOP":GOSUB 6500
- 4340 A$="?)Help ...... This file"+M$:GOSUB 6500
- 4360 GOTO 3940
- 4380 L=1
- 4400 OPEN "MESSAGES" FOR APPEND AS #2
- 4420 PRINT #2, CHR$(13);CHR$(10);
- 4440 IF LI$(L)="***END***" THEN 4500
- 4460 PRINT #2, LI$(L);CHR$(13);CHR$(10);
- 4480 L=L+1:GOTO 4440
- 4500 CLOSE #2
- 4520 A$=M$+"Message saved":GOSUB 6500
- 4540 NUM=NUM+1:GOSUB 6970
- 4560 GOTO 2420
- 4580 L=1
- 4600 IF LI$(L)="***END***" THEN 4680
- 4620 FM$=STR$(L)
- 4640 A$=FM$+":"+LI$(L):GOSUB 6500
- 4660 L=L+1:GOTO 4600
- 4680 A$=M$:GOSUB 6500
- 4700 GOTO 3940
- 4720 PRINT M$+"Enter line number to EDIT or... Q to quit : ";
- 4740 IF LCL=0 THEN PRINT #3,M$+"Enter line number to EDIT or... Q to quit : ";
- 4760 GOSUB 5720
- 4780 IF LEFT$(B$,1)="Q" OR LEFT$(B$,1)="q" THEN 3940
- 4800 PL=VAL(B$)
- 4820 A$=">"+LI$(PL):GOSUB 6500
- 4840 PRINT ">";:IF LCL=0 THEN PRINT #3,">";
- 4860 GOSUB 5720
- 4880 LI$(PL)=B$
- 4900 GOTO 4720
- 4920 A$=M$+"---------------------":GOSUB 6500
- 4940 A$= " LIST MESSAGE FILE ":GOSUB 6500
- 4960 A$= "---------------------"+M$:GOSUB 6500
- 4980 PRINT"Enter YOUR access code: ";:IF LCL=0 THEN PRINT #3,"Enter YOUR access code: ";
- 5000 UC=-1:GOSUB 5720:UC=0
- 5020 IF B$=PW$ THEN 5060
- 5040 A$="AUTHORIZATION FAILURE"+M$:GOSUB 6500:GOTO 2420
- 5060 OPEN "MESSAGES" FOR INPUT AS #2:GOTO 5200
- 5080 A$=M$+"Sorry, no MESSAGES at this time.":GOSUB 6500:GOTO 2420
- 5200 A$=M$+"Press <SPACE> to stop/start, <ESC> to quit"+M$:GOSUB 6500:PA=1
- 5210 TCC!=FNTI!+180
- 5220 WHILE NOT EOF(2)
- 5240 IF LCL=1 THEN 5300
- 5250 IF EOF(3) THEN 5300
- 5260 UU$=LEFT$(INPUT$(LOC(3),#3),1)
- 5280 IF UU$=" " THEN GOSUB 5699:GOTO 5240
- 5290 IF UU$=CHR$(27) THEN 5660
- 5300 YY$=INKEY$
- 5320 IF YY$=" " THEN GOSUB 5699:GOTO 5240
- 5340 IF YY$=CHR$(27) THEN 5660
- 5400 IF PA=0 THEN 5440
- 5420 IF FNTI!<TCC! THEN 5240 ELSE 1000
- 5440 A$=INPUT$(1,#2)
- 5460 IF A$=CHR$(8) THEN GOSUB 3340:GOTO 5640
- 5480 IF A$=CHR$(10) THEN 5640
- 5500 IF A$=CHR$(13) THEN PRINT:IF LCL=0 THEN PRINT #3,M$;:GOTO 5640 ELSE GOTO 5640
- 5520 PRINT A$;:IF LCL=0 THEN PRINT #3,A$;
- 5640 WEND
- 5660 CLOSE #2
- 5680 A$=M$+"<END-of-File>"+M$:GOSUB 6500:GOTO 2420
- 5699 TCC!=FNTI!+180:IF PA=0 THEN PA=1:RETURN ELSE PA=0:RETURN
- 5700 REM
- 5710 REM ---------- FETCH RESPONSE (TIMES OUT IN 3-MINUTES) ----------
- 5712 REM
- 5720 B$="":TCC!=FNTI!+180:LOCATE ,,1
- 5725 IF LCL=1 THEN 5740
- 5730 IF EOF(3) THEN 5740
- 5735 A$=INPUT$(LOC(3),3):GOSUB 6440:GOTO 5730
- 5740 A$=""
- 5760 IF LCL=1 THEN 5800
- 5762 IF(INP(MSR)AND &H80)=0 THEN 1000
- 5770 IF EOF(3) THEN 5800
- 5780 IF LOC(3)<>0 THEN A$=INPUT$(1,#3)
- 5800 Y$=INKEY$:IF Y$<>"" THEN A$=Y$
- 5810 IF A$="" THEN 5980
- 5812 TCC!=FNTI!+180
- 5820 IF A$=CHR$(8) AND LEN(B$)=0 THEN 5980
- 5840 IF A$=CHR$(8) THEN B$=LEFT$(B$,LEN(B$)-1):GOSUB 3340:GOTO 5980
- 5860 IF A$=CHR$(10) THEN 5980
- 5880 IF A$=CHR$(13) THEN 6020
- 5900 IF UC<>0 THEN IF (ASC(A$)>96) AND (ASC(A$)<123) THEN A$=CHR$(ASC(A$)-32)
- 5920 IF LEN(B$)>77 AND LCL=0 THEN PRINT #3,CHR$(7);:GOTO 5980
- 5940 B$=B$+A$
- 5960 IF UC=-1 THEN A$="."
- 5970 PRINT A$;:IF LCL=0 THEN PRINT #3,A$;
- 5980 IF FNTI!<TCC! THEN 5740
- 6000 GOTO 1000
- 6020 IF LCL=0 THEN PRINT #3,M$;
- 6040 PRINT M$;
- 6060 LOCATE ,,0:RETURN
- 6080 IF ERR=53 AND ERL=1400 THEN OPEN "O",2,"ANSWER.DEF":WRITE #2,"ON ","ON ",0,0:CLOSE #2:RESUME 1400
- 6082 IF ERR=53 AND ERL=6980 THEN OPEN "O",2,"ANSWER.DEF":WRITE #2,"ON ","ON ",0,0:CLOSE #2:RESUME 7000
- 6084 IF ERR=55 AND ERL=6980 THEN RESUME 6990
- 6086 IF ERR=52 AND ERL=6990 THEN RESUME 6980
- 6088 IF ERR=57 AND ERL=1940 THEN RESUME 1965
- 6090 IF ERR=53 AND ERL=2240 THEN RESUME 2420
- 6091 IF ERR=53 AND ERL=5060 THEN RESUME 5080
- 6092 IF ERR=53 AND ERL=2690 THEN RESUME 2740
- 6100 GOSUB 6340:LOCATE 21,1:PRINT "*** ERROR: ";ERR;" OCCURRED ON LINE: ";ERL;" ***";:GOSUB 6460
- 6120 IF ERR=69 THEN RESUME 1000
- 6140 IF ERR=57 THEN RESUME 1000
- 6160 IF CNCT=0 AND LCL=0 THEN RESUME 2420 ELSE RESUME 1000
- 6180 DATA "MESSAGES","OUTMSG","QWERTY"
- 6200 IF CH$="ON " THEN CH$="OFF":GOTO 6240
- 6220 IF CH$="OFF" THEN CH$="ON "
- 6240 IF CNCT=0 THEN GOSUB 6660:RETURN ELSE GOSUB 6980:RETURN
- 6260 IF CNCT=0 THEN GOSUB 6340:RETURN ELSE GOSUB 3100:RETURN
- 6280 RETURN 1000
- 6300 IF BP$="ON " THEN BP$="OFF":GOTO 6240
- 6320 IF BP$="OFF" THEN BP$="ON ":GOTO 6240
- 6340 IF BP$="ON " THEN BEEP:RETURN ELSE RETURN
- 6350 NUM=0:MUN=0:GOTO 6240
- 6380 REM
- 6400 REM ----------- SUPPORT ROUTINE FOR COMMUNICATIONS TIMING -----------
- 6420 REM
- 6440 DE!=FNTI!+1:GOTO 6480
- 6460 DE!=FNTI!+3
- 6480 IF FNTI!<DE! AND DE!< 86400! THEN 6480 ELSE RETURN
- 6500 WHILE (INP(MSR)AND &H40):WEND
- 6520 GOSUB 6440
- 6530 IF LCL=0 THEN PRINT #3,A$+M$;
- 6540 IF PR=0 THEN RETURN ELSE PRINT A$
- 6580 RETURN
- 6600 REM
- 6620 REM ------- DISPLAY CHANGE IN STATUS FOR F1 & F2 / WRITE TO DISK -------
- 6640 REM
- 6660 LOCATE 5,24
- 6680 PRINT "<F1> to toggle CHAT... chat is ";CH$
- 6700 LOCATE 6,24
- 6720 PRINT "<F2> to toggle BEEP... beep is ";BP$
- 6740 LOCATE 7,24
- 6760 PRINT "<F3> at any time to BREAK into CHAT"
- 6780 LOCATE 8,24
- 6800 PRINT "<F4> at any time to disconnect user"
- 6820 LOCATE 9,24
- 6840 PRINT "<X> to end program"
- 6860 LOCATE 10,24
- 6880 PRINT "<L> to enter LOCAL mode processing"
- 6890 LOCATE 11,24
- 6892 PRINT "<R> to RESET number of msgs/callers"
- 6900 LOCATE 13,24
- 6920 PRINT "Number of Messages.... ";NUM
- 6940 LOCATE 14,24
- 6960 PRINT "Number of Calls....... ";MUN
- 6970 IF UPD=0 THEN RETURN
- 6980 OPEN "O",2,"ANSWER.DEF"
- 6990 WRITE #2,BP$,CH$,NUM,MUN:CLOSE #2
- 7000 RETURN
- 8000 REM
- 8001 REM ---------- CHANGE MSR & LCR TO ADAPT TO CALLERS COMM SETTINGS --------
- 8002 REM
- 11654 R1=INP(LCR):DF=INP(MSB):OUT MSB,0:OUT LCR,R1 OR 128:IF Q=384 THEN OUT LSB,&H80:OUT MSB,&H1:GOTO 11684
- 11662 IF Q=256 THEN OUT LSB,&H0:OUT MSB,&H1:GOTO 11684
- 11664 IF Q=96 THEN OUT LSB,&H60:OUT MSB,&H0:GOTO 11684
- 11666 IF Q=48 THEN OUT LSB,&H30:OUT MSB,&H0
- 11684 OUT LCR,R1:OUT MSB,DF:RETURN
- 21280 WHILE NOT EOF(3):DF$=INPUT$(LOC(3),3):WEND:RETURN
-